2单选以下有关重定位信息的叙述中,错误的是()。
A.重定位信息是由编译器在生成汇编指令时产生的
B.重定位信息包含需重定位的位置、绑定的符号和重定位类型
C.数据中的重定位信息在可重定位目标文件的.rel.data节中
D.指令中的重定位信息在可重定位目标文件的.rel.text节中
3单选假定“intbuf[2]={10,50};”所定义的buf被分配在静态数据区,其首地址为0x8048930,bufp1为全局变量,被分配在buf随后的存储空间。以下关于“int*bufp1=&buf[1];”的重定位的描述中,错误的是()。
A.在可执行目标文件中,地址0x8048938开始的4个字节为34H、89H、04H、08H
B.在相应的重定位条目中,对bufp1和buf的引用均采用绝对地址方式
C.在可重定位目标文件的.rel.data节中,有一个引用buf的重定位条目
D.bufp1的地址为0x8048938,重定位前的内容为04H、00H、00H、00H
4单选假定“intbuf[2]={10,50};”所定义的buf被分配在静态数据区,其首地址为0x8048930,bufp1为全局变量,也被分配在静态数据区。以下关于“bufp1=&buf[1];”的重定位的描述中,错误的是()。
A.可用一条mov指令实现该赋值语句,该mov指令中有两处需要重定位
B.在可重定位目标文件的.rel.data节中,有一个与bufp1相关的重定位条目
C.在相应的重定位条目中,对bufp1和buf的引用均采用绝对地址方式
D.在可重定位目标文件的.rel.text节中,有一个与buf相关的重定位条目
5单选以下是有关在Linux系统中启动可执行目标文件执行的叙述,其中错误的是()。
A.可在CUI(命令行用户界面)中的命令行提示符后输入对应的命令来启动其执行
B.不管是哪种启动执行方式,最终都是通过调用execve()系统调用函数实现的
C.可在CUI(命令行用户界面)中双击可执行目标文件对应的图标来启动其执行
D.可以通过在一个程序中调用execve()系统调用函数来启动可执行文件执行
6单选以下是有关在Linux系统中加载可执行目标文件的叙述,其中错误的是()。
A.加载器通过可执行目标文件中的程序头表对可装入段进行加载
B.在可执行目标文件的加载过程中,其中的指令和数据被读入主存
C.可执行目标文件的加载通过execve()函数调用的加载器来完成
D.任何可执行目标文件中的可装入段被映射到一个统一的虚拟地址空间
计算机系统基础(一):程序的表示、转换与链接
南京大学
军职在线答案
大学网课